/** 获取css文件 */
export async function getCssFile(filePath) {
	try {
		let response = await fetch(filePath);
		return await response.text();
	} catch (error) {
		console.error('Error:', error);
	}
}

/** 上传文件 - 获取时间戳 */
export function getSign() {
	return new Date().getTime() / 1000 | 0;
}

/**
 * 判断传入的文件路径是否为 .md 文件
 * @param {string} filePath - 文件路径
 * @returns {boolean} 如果是 .md 文件返回 true，否则返回 false
 */
export function isMarkdownFile(filePath) {
	// 检查输入是否为空
	if (!filePath || typeof filePath !== 'string') {
		return false;
	}

	// 获取文件扩展名（转换为小写以便不区分大小写）
	const ext = filePath.slice(filePath.lastIndexOf('.')).toLowerCase();

	return ext === '.md';
}

/**
 * 从文件路径中提取带后缀的文件名
 * @param {string} filePath - 文件路径（支持 Windows 和 Unix 风格路径）
 * @returns {string} 带后缀的文件名，如果路径无效则返回空字符串
 */
export function getFileName(filePath) {
	// 检查输入是否有效
	if (!filePath || typeof filePath !== 'string') {
		return '';
	}

	// 使用反斜杠或正斜杠作为分隔符，分割路径并获取最后一部分
	const parts = filePath.split(/[/\\]/);
	const fileName = parts.pop(); // 获取最后一部分（即文件名）

	// 防止返回空或只有目录的情况
	return fileName || '';
}

/**
 * 文件夹内列表数据转换成树结构
 * @param {Array} list - 文件列表
 * @param {string} [parentPath] - 父级路径
 * @returns {Array} 树结构数据
 * */
export function listToTree(list, parentPath) {
	return list.map(item => {
		return {
			...item,
			label: item.name,
			leaf: !item.isDirectory,
			children: item.isDirectory ? [] : null,
			path: parentPath ? `${parentPath}\\${item.name}` : item.name,
		}
	})
}

/**
 * 获取格式化的日期时间
 * @param {string} type - 类型：'date' 返回年月日，'datetime' 返回年月日_时分
 * @returns {string} 格式化的日期时间字符串
 */
export function getDate(type = 'date') {
	const now = new Date();
	let year = now.getFullYear();
	let month = now.getMonth() + 1;
	let day = now.getDate();
	let hour = now.getHours();
	let minute = now.getMinutes();
	
	// 月日时分补零
	month = month < 10 ? '0' + month : month;
	day = day < 10 ? '0' + day : day;
	hour = hour < 10 ? '0' + hour : hour;
	minute = minute < 10 ? '0' + minute : minute;

	if (type === 'date') {
		return `${year}${month}${day}`;
	} else if (type === 'datetime') {
		return `${year}${month}${day}_${hour}${minute}`;
	} else {
		// 默认返回 date 格式
		return `${year}-${month}-${day}`;
	}
}